/*
我们说过一切皆对象

函数只是更特殊的对象

那么又因为每个对象都有一个proto属性,其指向创建该对象的函数的prototype

那么函数作为对象来说它的__proto__是指向创建它的Function的prototype的

那么问题来了

Function也是一个对象(一切皆对象),那谁创建的它呢？
Function的proto属性指向谁呢？
*/
/*
对于Function来说,它已经到头了,没有谁来new出来它

故:
*/
console.log(Function.__proto__ === Function.prototype); // true
//↓伪代码
//var Function = new Function();
/** ↑
 * 根据：“每个对象都有一个proto属性,其指向创建该对象的函数的prototype”
 * 故,我们可以这样理解:
 * 是Function自己new出了自己
 * 无中生有*/

//但是我们没有Function又怎么new出自己呢？
//先有鸡还是先有蛋
//我们要跳出思维定式,承认这种现象,就像nodeJS里允许循环引用一样(参看a.js emmm 这个比喻貌似不大恰当
